public class Homework04 {
    public static void main(String[] args) {
        /*
            思路 本质数组扩容+定位
            1. 我们先确定 添加数应该插入到哪个索引
            2. 然后扩容
         */

        //先定义原数组
        int[] arr = {10, 12, 45, 90};
        int insertNum = 23;
        int index = -1;//index就是要插入的位置

        //遍历 arr数组，如果发现 insertNum<=arr[i]，说明 i 就是要插入的位置
        //使用 index 保留 index = i;
        //如果遍历完后，没有发现 insertNum<=arr[i]。说明 index = arr.length
        //即: 添加到arr的最后

        for (int i = 0; i < arr.length; i++) {
            if (insertNum <= arr[i]) {
                index = i;
                break;//找到位置后，就退出
            }
        }
        //判断index的值
        if (index == -1) {//说明遍历完了没找到位置
            index = arr.length;
        }

        //扩容
        //先创建一个新的数组，大小为arr.length+1
        int[] arrNew = new int[arr.length + 1];
        for (int i = 0, j = 0; i < arrNew.length; i++) {
            if (i != index) {
                arrNew[i] = arr[j];
                j++;
            } else {
                arrNew[i] = insertNum;
            }
        }

        arr = arrNew;

        System.out.println("===数组情况===");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
